class CuartoOscuro
  
  def candidatos
    $registro_de_candidatos.candidatos @claustro
  end

  def votar_a(candidatos)
    candidatos_posibles = $registro_de_candidatos.candidatos @claustro
    if (candidatos.length > @cantidad_votos_disponibles )
      return VotoInvalido.new "cantidad de votos disponibles para el claustro es: #{@cantidad_votos_disponibles}, y usted voto #{candidatos.length}"   
    elsif !incluidos(candidatos, candidatos_posibles)
      return VotoInvalido.new "candidatos no validos para el claustro #{@claustro}"   
    else
      return Voto.new @claustro, candidatos
    end
  end
  
  private

  def incluidos(lista1, lista2)
    lista1.each do |x|
      return false unless lista2.include? x 
    end 
    
    return true
  end
end